home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 April: Mac OS SDK / Dev.CD Apr 00 SDK1.toast / Development Kits / Mac OS / Installer SDK 1.2.3 / Upgrader 1.2.3 & Engines / Upgrader 1.2.3 / Plug-in Examples / Common Files / MWCPlusExtensions / stdexcept.cp < prev   
Encoding:
Text File  |  1997-04-07  |  1.6 KB  |  50 lines  |  [TEXT/CWIE]

  1. /************************************************************************/
  2. /*    Project...:    Standard C++ Library                                    */
  3. /*    Name......:    stdexcept.c                                                */
  4. /*    Purpose...:    exception handling                                        */
  5. /*  Copyright.: ©Copyright 1993-95 by metrowerks inc                    */
  6. /************************************************************************/
  7.  
  8. #include <stdexcept>
  9. #include <exception.h>
  10. #include <typeinfo>
  11.  
  12. #ifdef __MODENALIB__
  13.  
  14. #if __MC68K__
  15. #pragma far_code
  16. #endif
  17.  
  18. const char* bad_exception::what() const throw() { return "bad_exception"; }
  19.  
  20. extern void __priv_throwbadcast(void)
  21. {
  22.     throw bad_cast("bad dynamic_cast");
  23. }
  24.  
  25. #else
  26.  
  27. const char* exception::what() const throw() { return "exception"; }
  28. const char* bad_cast::what() const throw() { return "bad_cast"; }
  29. const char* bad_typeid::what() const throw() { return "bad_typeid"; }
  30. const char* bad_exception::what() const throw() { return "bad_exception"; }
  31.  
  32. //const char* logic_error::what() const { return mwhat; }
  33. const char* logic_error::what() const { return "logic_error"; }
  34. const char* domain_error::what() const { return logic_error::what(); }
  35. const char* invalid_argument::what() const { return logic_error::what(); }
  36. const char* length_error::what() const { return logic_error::what(); }
  37. const char* out_of_range::what() const { return logic_error::what(); }
  38.  
  39. //const char* runtime_error::what() const { return mwhat; }
  40. const char* runtime_error::what() const { return "runtime_error"; }
  41. const char* range_error::what() const { return runtime_error::what(); }
  42. const char* overflow_error::what() const { return runtime_error::what(); }
  43.  
  44. extern void __priv_throwbadcast(void)
  45. {
  46.     throw bad_cast();
  47. }
  48.  
  49. #endif
  50.